package com.zhiwen.service;

import com.zhiwen.domain.dto.LoginDTO;
import com.zhiwen.domain.dto.RegisterDTO;
import com.zhiwen.domain.vo.UserVO;

import java.util.Map;

/**
 * 认证服务接口
 */
public interface AuthService {

    /**
     * 用户登录
     */
    Map<String, Object> login(LoginDTO loginDTO);

    /**
     * 用户注册
     */
    UserVO register(RegisterDTO registerDTO);

    /**
     * 获取当前登录用户信息
     */
    UserVO getCurrentUser();

    /**
     * 用户登出
     */
    void logout();

    /**
     * 生成验证码
     * @param email 邮箱
     * @return 验证码信息
     */
    Map<String, String> generateCaptcha(String email);
}
